package com.example.ecommerce.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProductDTO {
    /**
     * 商品ID
     */
    private Long id;

    /**
     * 分类ID
     */
    private Long categoryId;

    /**
     * 分类名称（用于展示）
     */
    private String categoryName;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品描述
     */
    private String description;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 库存
     */
    private Integer stock;

    /**
     * 销量
     */
    private Integer sales;

    /**
     * 状态：0-下架 1-上架
     */
    private Integer status;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 商品规格列表
     */
    private List<ProductSpecDTO> specs;

    /**
     * 商品评价列表
     */
    private List<ProductReviewDTO> reviews;

    /**
     * 商品图片列表
     */
    private List<String> images;

    /**
     * 商品主图
     */
    private String mainImage;

    /**
     * 商品标签
     */
    private List<String> tags;

    /**
     * 商品评分
     */
    private BigDecimal rating;

    /**
     * 评价数量
     */
    private Integer reviewCount;

    /**
     * 商品单位
     */
    private String unit;

    /**
     * 商品重量（克）
     */
    private Integer weight;

    /**
     * 是否新品
     */
    private Boolean isNew;

    /**
     * 是否热销
     */
    private Boolean isHot;

    /**
     * 是否推荐
     */
    private Boolean isRecommend;

    /**
     * SEO关键词
     */
    private String keywords;

    /**
     * SEO描述
     */
    private String seoDescription;
} 